import os
import shutil
import time

def get_desk_p(): #获取桌面路径
    return os.path.join(os.path.expanduser('~'),"Desktop")
print(get_desk_p())

def files_classfy(target_path):
  global count  # 定义全局变量
  file_list = os.listdir(target_path)  # 列出目标路径下的所有文件列表
  for file in file_list:  # 遍历取到每一个文件名
    os.chdir(target_path)  # 改变当前工作目录为目标路径
    if file.find('.') == -1:  # 如果当前文件名中无扩展名则跳过
      continue
    filetype = file.split('.')[-1]  # 取得文件扩展名格式，windows下文件需设置为扩展名可见
    filetype = 'Moved'
    if not os.path.exists(filetype):
      os.mkdir(filetype)  # 如果工作目录下不存在以当前扩展名命名的文件夹则创建该文件夹（默认属性为0777）
    new_path = os.path.join(target_path, '%s' % filetype)  # 取得当前扩展名文件夹路径
    os.chdir(new_path)
    if os.path.exists(file):  # 如果当前扩展名文件夹中已存在同名文件则跳过
      continue
    else:
      os.chdir(target_path)  # 将工作目录切换回目标文件夹
      shutil.move(file, filetype)  # 移动相同格式的文件到对应的格式文件夹
      count += 1


start = time.time()
count = 0
# path = 'C:\\Users\\ZYoffice\\Desktop\\' #桌面
path = get_desk_p()
files_classfy(path)
total_time = time.time() - start
print("程序运行时间：%0.2f" % total_time)
print("共处理文件：%d" % count)
